﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

namespace ProjectRoughWork
{
    /*
    struct ActorParams
    {
        public int mID;
        public Vector3 mPos;
        public Matrix mMat;

        //virtual IActor VCreate() { IActor p; return p; }
        
    }
    */

    interface IActor
    {
        //Member Mutator and Accessor Methods

        Matrix getMatrix();
        void setMatrix(Matrix newMatrix);

        float getRotation();
        void setRotation(float newRotation);
        float NormalizeRotation(float rotation);

        int getID();
        void setID(int newID);

        string getType();

        Vector3 getVelocity();
        void setVelocity(Vector3 newVelocity);

        Vector3 getPosition();
        void setPosition(Vector3 newPos);
        //Vector3 Position;

        Vector3 getOrigin();
        void setOrigin(Vector3 newOrigin);

        //ActorParams getParams();

        bool VIsPhysical();
        bool VIsGeometrical();
        void VOnUpdate();


        void VRotateY(float angle);
        void VRender();
    }
}
